We are testing an app currently on sale on iOS 15.
When I start scrolling up and down by touch in a UIPickerView , the scrolling is not smooth.
There is a short break when you start scrolling.
If I flick it quickly, it stops and after a while it has already scrolled to where some data has advanced.
If we start scrolling and keep scrolling, then we don't have the above symptoms.
The above symptoms start after the app does a big operation while loading a file.
That is, when the symptom starts, it is there in the UIPickerView throughout the app.
Only UIPickerView scrolling, other screen transitions or UITableView scrolling do not show such symptoms.
There is no such symptom until iOS 14.
Could you give us some advice on the cause of the above symptoms or how to improve it?
The device tested is an iPhone 8 plus.
We did send feedback to Apple through the Feedback app on devices that currently have iOS 15 installed.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
In the app, when users view AdMob rewarded video ads, banner ads are removed for a certain period of time and some additional features are provided.
However, we had previously supported rewarded video ads without in-app purchases in the app, but were rejected by the app review.
And after adding in-app purchases, it passed the review.
Could it be that Apple's policy does not yet allow only rewarded video ads to be added to the app?
Or is there any way ?
We are thinking about using NLTokenizer which is currently using CFStringTokenizer .
What are the differences or advantages between the two APIs?
This is the app we are currently selling.
If you follow the steps below, you may experience a black screen phenomenon.
Run the app and go to the home screen.
Turn off the screen of the device and do not use it for a long time.
Turn on the device's screen and launch the app from the home screen.
Randomly, the entire app screen is black and nothing works.
If you completely close the app and run it again, it will run normally.
It has been reported to us since iOS 15.
And in iOS 15 and iOS 14.8, a user sent us an email about the same phenomenon.
This only happens on the iPad, not the iPhone.
Supports iPad multitasking
UIApplicationSupportsMultipleScenes is not supported.
Can anyone advise us on the cause or solution of this symptom?
Using Swift Array
I found removeAll() to be very slow and not perform well.
Especially the larger the array (the more objects it contains), the slower it was.
Is there a way to achieve good performance while performing the same function as removeAll() of an array?
"= []" This method also performed the same.
And the way to declare the array after making it optional had the same performance.
swift / xcode is the latest version and is being tested on iOS 15.4 / iOS 14.8 / iphone6s.
Or can't Apple make a new function that speeds up the performance of removeAll()??
When building the external library project, I selected "Mach-O Type" as "Dynamic Library" and built it to create a framework file (folder).
And this framework file was imported and used in our app and distributed to the App Store.
Is this situation required to release the entire source code of our app under the LGPL 2.1 (or LGPL 3.0) license?
Enter file in the Mac command line and press Enter, “dynamically linked shared library” is displayed.
The private api was never used.
We utilized the properties of home indicator.
It is not hidden, it is still displayed, but it is not visible.
In this case, can it be rejected in the app review??
In our app, we connect the mouse to the iPad and move the cursor to the end of the 4 corners and click, then the tap action does not work.
Is this because of the hot corner motion, Apple made the 4 corner tap motion not occur?
Or is there a way to get a tap gesture when clicking in each corner?
I don't want the function to be included if the iOS app is running on a Mac.
(Designed for iPad)
For example the sample code below
@available(iOS 13.4, *)
func keyPressed(_ key: UIKey) { .. }
The keyPressed function is included when running in iOS or iPadOS.
I would like to know if there is a way to prevent the keyPressed function from being included at launch time, even when running an iOS app as "Designed for iPad" on M1/M2 devices.
"targetEnvironment(macCatalyst)"
When this is called, false is unconditionally displayed, so the distinction cannot be made.
#if ProcessInfo().isiOSAppOnMac
func keyPressed(_ key: UIKey) { .. }
#endif
If you use the code above, ProcessInfo cannot be executed in RunTime, so false is output unconditionally.
So far I'm looking for a possible way, but there doesn't seem to be any possible way.
If anyone has solved this problem, please reply.
I am implementing Live Text function using ImageAnalysisInteraction and ImageAnalyzer.
After loading an image file into UIImageView , I am trying to implement a function to select like a TextView using Live Text function.
On the right side of the UIImageView, a button to change the Live Text highlight state is displayed.
However, there is a phenomenon that this button cannot be clicked.
Also, even if you change the highlight state to Live Text, it is not selected like UITextView.
imageView.addInteraction(interaction)
I added an interaction to the imageview like this.
Even if I keep changing preferredInteractionTypes to multiple types, there is no choice.
interaction.view!.isUserInteractionEnabled = true
imageView.isUserInteractionEnabled = true
So I also changed the isUserInteractionEnabled value to true .
Have any of you solved this problem?
We are providing the ability to speak text in our app using AVSpeechSynthesizer .
Stop the AVSpeechSynthesizer at random
I get a crash like the screenshot below.
What causes this error to occur?
It happens occasionally during testing, but it doesn't go away even if I fix it in various ways.
Is this a bug in iOS or is there something I need to fix or add?
If a crash occurs, the message below is also displayed in the log window during debugging.
[AXTTSCommon] _BeginSpeaking: speech cancelled error: Error Domain=TTSErrorDomain Code=-4005 "(null)"
[AXTTSCommon] _BeginSpeaking: couldn't begin playback
TTS Create Code
let utterance = AVSpeechUtterance(string: playText)
if Singletone.sharedInstance().ttsIdentifier != nil {
utterance.voice = AVSpeechSynthesisVoice(identifier: Singletone.sharedInstance().ttsIdentifier!)
}
else {
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
}
utterance.rate = 0.4
utterance.pitchMultiplier = 1.0
utterance.preUtteranceDelay = -1.0
utterance.postUtteranceDelay = -1.0
utterance.volume = 1.0
if self.synthesizer == nil {
self.synthesizer = AVSpeechSynthesizer()
self.synthesizer!.delegate = self
}
self.synthesizer!.speak(utterance)
TTS Stop Code
self.synthesizer!.stopSpeaking(at: .immediate)
self.synthesizer!.delegate = nil
self.synthesizer = nil
Is there any way to fix screen rotation in iPad apps that don't use the Requires Full Screen option?
Is there a way to lock the rotation of the app when the app is in full screen state in an iPad app that doesn't use Requires Full Screen?
Disable Requires Full Screen option
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?)
I know that even if the above function returns a value that locks the rotation, the device is not.
But iPad users who use my app send me an email asking if I can provide a function to lock the rotation of the app.
I would like to know if there is a way to lock the rotation even when in full screen.
Or can't Apple support it in a future update?
Currently, there is an issue that only occurs on iOS 16 devices.
We provide TTS function to pronounce Text using AVSpeechSynthesizer.
When I stop AVSpeechSynthesizer, sometimes the sentence is played without stopping.
After that, if we put nil or declare a new AVSpeechSynthesizer object like the code below
"self.synthesizer = nil or self.synthesizer = AVSpeechSynthesizer()"
The app crashes.
This issue was previously posted on the forum
https://developer.apple.com/forums/thread/716963
It's like this problem. (It is believed to be the cause of this problem.)
This phenomenon occurs randomly when playing, stopping, and repeating a sentence.
So it is not easy to reproduce.
We're getting crash reports from our app, but it's only happening on iOS 16 devices.
Does anyone have a cause or solution for this symptom?
I've been looking for a solution for a few weeks now and haven't been able to find a suitable solution.
We believe this may be a bug in iOS 16.
I am currently testing on the latest version of iOS 16.0.3. It still happens occasionally.
If we can reproduce this phenomenon with 100% probability, we will give feedback to Apple, but we have to repeat it several times, so we do not think about feedback.
and additionally
Even when leaving the current screen, the app dies after this happens.
If we nil or not initialize the AVSpeechSynthesizer object after stopping the TTS loop in our app,
"self.synthesizer!.speak(utterance)"
As in the code above, there is a phenomenon that playback does not play even if you try to play it.
Trigger an alarm on the iPhone 14 Pro Max so that the time is displayed on the dynamic island at the top.
And when you perform a specific action in the currently sold app, the time or icon displayed on the dynamic island appears and disappears.
Is there anything special I need to do in my app to just keep the current dynamic island icon or time display?
Other apps seem to keep the time or icon displayed on the dynamic island.
Add
We confirmed that if we make the bottom home indicator disappear automatically with setNeedsUpdateOfHomeIndicatorAutoHidden, the dynamic island also disappears.
Is there a way to setNeedsUpdateOfHomeIndicatorAutoHidden to show the current dynamic island even though the home bar disappears?
Some users believe that the app is malfunctioning because it repeats that the content of the dynamic island is displayed when you touch the app and disappears when you don't touch it.
An issue where the content of the dynamic island disappears and is displayed repeatedly
The issue is similar to the one below.
https://developer.apple.com/forums/thread/717795
Currently using the function to make the bottom home indicator disappear with setNeedsUpdateOfHomeIndicatorAutoHidden
In case the status bar information is always displayed at the top
As the bottom home indicator appears and disappears, the content of the dynamic island also appears and disappears.
Although this is Apple's intention, users who watch the content for a long time may think that this is a bug or an error in the app because the dynamic island at the top repeatedly appears and disappears repeatedly.
Our app is an app for viewing documents.
At the bottom, there are many users who do not like that the home indicator is always on, so a function (optional) that automatically disappears unless you touch it is implemented.
And the status bar information is always displayed at the top of the content viewing screen.
(battery or time information)
In that situation, when you switch to a tab page, the home indicator and dynamic island icon or text at the bottom are displayed and disappear again if you do not tap.
This phenomenon repeats over and over again as the pages are turned.
(Because users keep repeating tabs as they turn pages)
While viewing the content, the icon or text of the Dynamic Island keeps appearing and disappearing.
For example, the issue arises when the content is always displayed on the dynamic island as shown below.
Alarm triggered by Apple's default app
Connect to other Bluetooth devices
Tethering
Hopefully Apple will provide an option to separate the disappearance of the bottom home bar from the disappearance of the dynamic island content on the top.
Set the option to make the home bar disappear to True, and we hope to provide an option where the content of the dynamic island is always maintained even when the status bar is displayed.
video link
https://youtube.com/shorts/0Qn6qTELxmg?feature=share